<?php
namespace Admin\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function _initialize()
    {
        if(!session('?admin'))
        {
            $this->error('当前用户没有权限','Login/login');
                //$this->redirect('Login/login');
            exit;
        }
    }


    public function index(){
        echo'this is admin module';
       // $this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px } a,a:hover,{color:blue;}</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>！</p><br/>版本 V{$Think.version}</div><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_55e75dfae343f5a1"></thinkad><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8');
    }

    function userList()
    {
        $userModel = M('Users');
        $local_users = $userModel->order('id desc')->select();
        //select * from think_users order by id desc
        //调用模型层select方法得到数据
        //$users是函数中的局部变量，在外面是不可见的
        $this->users=$local_users;
        $this->display();
        //把当前类的所有全局变量传递给参数(对应视图)
        //$this->assign();
        //可以使用assign方法限制传递的全局变量
    }

    function bsUserList()
    {
        //$userModel = M('Users');
        //$local_users = $userModel->order('id desc')->select();
        //select * from think_users order by id desc
        //调用模型层select方法得到数据
        //$users是函数中的局部变量，在外面是不可见的
        //$this->users=$local_users;
        //$this->display();
        //把当前类的所有全局变量传递给参数(对应视图)
        //$this->assign();
        //可以使用assign方法限制传递的全局变量

        $User = M('Users'); // 实例化User对象
        $count = $User->count();// 查询满足要求的总记录数
        $Page = new \Think\Page($count,5);// 实例化分页类 传入总记录数和每页显示的记录数(25)
        $show = $Page->show();// 分页显示输出
        //var_dump($Page);
         // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $list = $User->limit($Page->firstRow.','.
            $Page->listRows)->select();
        $this->assign('users',$list);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出
        $this->display(); // 输出模板

    }

    function users()
    {
        $userModel = M('Users');
        $local_users = $userModel->order('id desc')->select();
        //select * from think_users order by id desc
        //调用模型层select方法得到数据
        //$users是函数中的局部变量，在外面是不可见的
        $this->users=$local_users;
        $this->display();
        //把当前类的所有全局变量传递给参数(对应视图)
        //$this->assign();
        //可以使用assign方法限制传递的全局变量
    }

    function del($id)
    {
        //生成一个Users模型实例，调用模型的方法删除数据
        $usersModel = M('Users');
        if($usersModel->delete($id))
        {
            //delete from think_users where id=$id
            //删除成功
            $this->success('删除成功');
        }
        else
        {
            //删除失败
            $this->error('删除失败');
        }
    }

    function setstar($id)
    {
        //生成一个Users表对应的模型实例users
        $usersModel = M('Users');
        $data['isstar']=1;
        if($usersModel->where("id=$id")->save($data))
        {
            //update users set isstar=1 where id=$id;
            $this->success('设置明星作者成功');
        }
        else
        {
            $this->error('设置明星作者失败');
        }

    }

    function unstar($id)
    {
        $usersModel=M('Users');
        $usersModel->isstar=0;
        $usersModel->isfirst=0;
        $usersModel->id=$id;
        if($usersModel->save())
        {
            $this->success('取消明星作者成功');
        }
        else
        {
            $this->error('取消明星作者失败');
        }
    }

    function setfirst($id)
    {
        //生成一个Users表对应的模型实例users
        $usersModel = M('Users');
        //$data['isfirst']=1;
        $usersModel->isstar=1;
        $usersModel->isfirst=1;
        $usersModel->id=$id;
        if($usersModel->save())
        {;
            $this->success('设置首页推荐成功');
        }
        else
        {
            $this->error('设置首页推荐失败');
        }

    }

    function unfirst($id)
    {
        $usersModel=M('Users');
        $usersModel->isfirst=0;
        $usersModel->id=$id;
        if($usersModel->save())
        {
            $this->success('取消首页推荐成功');
        }
        else
        {
            $this->error('取消首页推荐失败');
        }
    }

    function updateUserInfo($id)
    {
        $usersModel=M('Users');
        $this->user=$usersModel->find($id);
        $this->display();//将查询到的用户信息user传递给模板updateUserInfo.html
    }

    function update()
    {
        //获取updateUserInfo界面提交的数据，修改数据库
        //$_POST 或 I(post.)  post方法的两种写法，一般用后者
        //create方法 利用$_POST数据创建一个对象
        $userModel=D('Users');
        $userModel->create();

           if($_FILES['photo']['error']==0)
           {
               $photoinfo=$this->upload();//调用upload方法
               //var_dump($photoinfo);
               $userModel->photo=$photoinfo['photo']['savename'];
           }
           if($userModel->save())
           {
               $this->success('修改用户成功','users');
           }
           else
           {
               $this->error('修改用户失败');
           }

    }

    public function upload(){
        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize = 3145728 ;// 设置附件上传大小
        $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath = './Public/Uploads/photo/'; // 设置附件上传根目录
        //$upload->savePath = ''; // 设置附件上传（子）目录
        $upload->autoSub=false;
        // 上传文件
        $info = $upload->upload();
        if(!$info) {// 上传错误提示错误信息
            $this->error($upload->getError());
        }else{// 上传成功
            //$this->success('上传成功！');
            return $info;
        }
    }

    function img()
    {
        //图片处理函数
        $photoinfo = $this->upload();
        $filePath='./Public/Uploads/photo/';
        $imgfile=$photoinfo['photo']['rootpath'].'\\'.$photoinfo['savephoto']['savename'];
        //$filePath=$photoinfo['photo']['rootpath'];
        $oldFileName=$photoinfo['photo']['savename'];
        $olfFileFullName=$filePath."\\".$oldFileName;
        $newFileName='thumb_'.$oldFileName;
        $newFileFullName=$filePath."\\".$newFileName;

        $image=new\Think\Image();
        $image->open($olfFileFullName);
        $image->thumb(100,100)->save($newFileFullName);
        return $newFileName;
    }

    public function addUser()
    {
        //接受从add.html界面提交的用户信息
        //创建对象 保存到数据库中
        //注意：单独处理图像的上传以及photo字段的赋值
        //保存到数据库 add方法
        $userModel=D('Users');
        if($userModel->create())
        {
            if($_FILES['photo']['error']==0)//判断文件上传是否成功
            {
                //$photoinfo=$this->upload();//调用upload方法，将临时文件保存到指定位置
                $filename=$this->img();
                //var_dump($photoinfo);
                $userModel->photo=$filename;//获取文件的名字
            }
            if($userModel->add())
            {
                $this->success('添加用户成功','users');
            }
            else
            {
                $this->error('添加用户失败');
            }
        }
        else
        {
            $this->error($userModel->getError());
        }
    }

}












